(* Content-type: application/vnd.wolfram.mathematica *)

(*** Wolfram Notebook File ***)
(* http://www.wolfram.com/nb *)

(* CreatedBy='Mathematica 10.4' *)

(*CacheID: 234*)
(* Internal cache information:
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[       158,          7]
NotebookDataLength[     13173,        416]
NotebookOptionsPosition[      9587,        307]
NotebookOutlinePosition[     11760,        364]
CellTagsIndexPosition[     11675,        359]
WindowTitle->FCCheckSyntax
WindowFrame->Normal*)

(* Beginning of Notebook Content *)
Notebook[{
Cell[BoxData[GridBox[{
   {Cell["FEYN CALC SYMBOL", "PacletNameCell"], Cell[TextData[Cell[BoxData[
     ActionMenuBox[
      FrameBox[
       InterpretationBox[Cell[TextData[{
         "URL",
         StyleBox[" \[FilledDownTriangle]", "AnchorBarArrow",
          StripOnInput->False]
        }]],
        TextCell[
         Row[{"URL", 
           Style[" \[FilledDownTriangle]", "AnchorBarArrow"]}]]],
       StripOnInput->False], {"\<\"FeynCalc/ref/FCCheckSyntax\"\>":>
      None, "\<\"Copy Wolfram Documentation Center URL\"\>":>
      Module[{DocumentationSearch`Private`nb$}, 
       DocumentationSearch`Private`nb$ = NotebookPut[
          Notebook[{
            Cell["FeynCalc/ref/FCCheckSyntax"]}, Visible -> False]]; 
       SelectionMove[DocumentationSearch`Private`nb$, All, Notebook]; 
       FrontEndTokenExecute[DocumentationSearch`Private`nb$, "Copy"]; 
       NotebookClose[DocumentationSearch`Private`nb$]; Null], 
      Delimiter, "\<\"Copy web URL\"\>":>
      Module[{DocumentationSearch`Private`nb$}, 
       DocumentationSearch`Private`nb$ = NotebookPut[
          Notebook[{
            Cell[
             BoxData[
              MakeBoxes[
               Hyperlink[
               "http://reference.wolfram.com/language/FeynCalc/ref/\
FCCheckSyntax.html"], StandardForm]], "Input", TextClipboardType -> 
             "PlainText"]}, Visible -> False]]; 
       SelectionMove[DocumentationSearch`Private`nb$, All, Notebook]; 
       FrontEndTokenExecute[DocumentationSearch`Private`nb$, "Copy"]; 
       NotebookClose[DocumentationSearch`Private`nb$]; 
       Null], "\<\"Go to web URL\"\>":>FrontEndExecute[{
        NotebookLocate[{
          URL[
           StringJoin[
            If[
             TrueQ[DocumentationBuild`Make`Private`wsmlinkQ$94584], 
             "http://reference.wolfram.com/system-modeler/", 
             "http://reference.wolfram.com/language/"], 
            "FeynCalc/ref/FCCheckSyntax", ".html"]], None}]}]},
      Appearance->None,
      MenuAppearance->Automatic,
      MenuStyle->"URLMenu"]],
     LineSpacing->{1.4, 0}]], "AnchorBar"]}
  }]], "AnchorBarGrid",
 GridBoxOptions->{GridBoxItemSize->{"Columns" -> {
     Scaled[0.65], {
      Scaled[0.34]}}, "ColumnsIndexed" -> {}, "Rows" -> {{1.}}, 
   "RowsIndexed" -> {}}},
 CellID->1],

Cell[TextData[{
 Cell["FCCheckSyntax", "ObjectName"],
 Cell[BoxData[
  InterpretationBox[
   StyleBox[
    GraphicsBox[{},
     BaselinePosition->Baseline,
     ImageSize->{8, 0}],
    CacheGraphics->False],
   Spacer[8]]]],
 Cell[BoxData[""], "ObjectNameTranslation"]
}], "ObjectNameGrid"],

Cell[CellGroupData[{

Cell[BoxData[GridBox[{
   {"", Cell[TextData[{
     Cell[BoxData[
      RowBox[{"FCCheckSyntax", "[", "exp", "]"}]], "InlineFormula"],
     " \[LineSeparator]attempts to detect mistakes and inconsistencies in the \
user input. The function returns the original expression but will abort the \
evaluation if it thinks that the input is incorrect."
    }]]}
  }]], "Usage",
 GridBoxOptions->{
 GridBoxBackground->{
  "Columns" -> {{None}}, "ColumnsIndexed" -> {}, "Rows" -> {{None}}, 
   "RowsIndexed" -> {}}},
 CellID->982511436],

Cell[CellGroupData[{

Cell[TextData[Cell[BoxData[
 ButtonBox[Cell[TextData[{
   Cell[BoxData[
    InterpretationBox[
     StyleBox[
      GraphicsBox[{},
       BaselinePosition->Baseline,
       ImageSize->{6, 0}],
      CacheGraphics->False],
     Spacer[6]]]],
   "Details"
  }], "NotesFrameText"],
  Appearance->{Automatic, None},
  BaseStyle->None,
  ButtonFunction:>(FrontEndExecute[{
     FrontEnd`SelectionMove[
      FrontEnd`SelectedNotebook[], All, ButtonCell], 
     FrontEndToken["OpenCloseGroup"], 
     FrontEnd`SelectionMove[
      FrontEnd`SelectedNotebook[], After, CellContents]}]& ),
  Evaluator->None,
  Method->"Preemptive"]]]], "NotesSection",
 WholeCellGroupOpener->True,
 CellGroupingRules->{"SectionGrouping", 50},
 CellID->1697820583],

Cell["", "SectionHeaderSpacer"],

Cell["\<\
Notice that false positives are possible and it is not guaranteed that the \
input which passes FCCheckSyntax is indeed fully correct. \
\>", "Notes",
 CellID->1161987066],

Cell["\<\
FCCheckSyntax is also an option for several FeynCalc routines If set to True, \
those functions will try to check the syntax of the input expressions to \
detect possible inconsistencies. \
\>", "Notes",
 CellID->180262923],

Cell["\<\
However, on large expressions such checks may cost a lot of performance, \
which is why this option is set to False by default.\
\>", "Notes",
 CellID->935868582],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Options", "[", "FCCheckSyntax", "]"}]], "Input",
 CellLabel->"In[403]:=",
 CellID->1667538060],

Cell[BoxData[
 FormBox[
  RowBox[{"{", 
   RowBox[{
    RowBox[{"DotSimplify", "\[Rule]", "True"}], ",", 
    RowBox[{"FeynCalcInternal", "\[Rule]", "False"}]}], "}"}], 
  TraditionalForm]], "Output",
 ImageSize->{286, 16},
 ImageMargins->{{0, 0}, {0, 0}},
 ImageRegion->{{0, 1}, {0, 1}},
 CellLabel->"Out[403]=",
 CellID->1616784893]
}, Open  ]]
}, Closed]]
}, Open  ]],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  InterpretationBox[
   StyleBox[
    GraphicsBox[{},
     BaselinePosition->Baseline,
     ImageSize->{6, 0}],
    CacheGraphics->False],
   Spacer[6]]]],
 "Examples",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(1)", "ExampleCount"]
}], "PrimaryExamplesSection",
 WholeCellGroupOpener->True,
 CellTags->"PrimaryExamplesSection",
 CellID->157283115],

Cell[CellGroupData[{

Cell[TextData[{
 "Basic Examples",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(1)", "ExampleCount"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CellID->745372466],

Cell[TextData[{
 "Typical mistake, using ",
 Cell[BoxData["Times"], "InlineFormula"],
 " instead of ",
 Cell[BoxData["Dot"], "InlineFormula"],
 " in noncommutative products"
}], "Notes",
 CellID->1330487301],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"FCCheckSyntax", "[", 
  RowBox[{
   RowBox[{"GA", "[", "mu", "]"}], "*", 
   RowBox[{"GA", "[", "nu", "]"}]}], "]"}]], "Input",
 CellLabel->"In[1]:=",
 CellID->1374293448],

Cell[BoxData[
 FormBox[
  RowBox[{
   StyleBox[
    RowBox[{"FCCheckSyntax", "::", "failmsg"}], "MessageName"], ":", 
   " ", "\<\"Error! FCCheckSyntax has found an inconsistency in your input \
expression and must abort the evaluation. The problem reads: \[NoBreak]\\!\\(\
\\*FormBox[\\\"\\\\\\\"Commutative products of DiracGamma in \\\\\\\"\\\", \
TraditionalForm]\\)\[NoBreak] \
\[NoBreak]\\!\\(\\*FormBox[RowBox[{SuperscriptBox[RowBox[{OverscriptBox[\\\"\
\[Gamma]\\\", \\\"_\\\"]}], FormBox[FormBox[\\\"mu\\\", TraditionalForm], \
TraditionalForm]], \\\" \\\", SuperscriptBox[RowBox[{OverscriptBox[\\\"\
\[Gamma]\\\", \\\"_\\\"]}], FormBox[FormBox[\\\"nu\\\", TraditionalForm], \
TraditionalForm]]}], TraditionalForm]\\)\[NoBreak] \\!\\(\\*ButtonBox[\\\"\
\[RightSkeleton]\\\", ButtonStyle->\\\"Link\\\", ButtonFrame->None, \
ButtonData:>\\\"paclet:FeynCalc/ref/FCCheckSyntax\\\", ButtonNote -> \
\\\"FeynCalc`FCCheckSyntax::failmsg\\\"]\\)\"\>"}], 
  TraditionalForm]], "Message", "MSG",
 CellLabel->"During evaluation of In[1]:=",
 CellID->353651716],

Cell[BoxData[
 FormBox["$Aborted", TraditionalForm]], "Output",
 ImageSize->{58, 14},
 ImageMargins->{{0, 0}, {0, 0}},
 ImageRegion->{{0, 1}, {0, 1}},
 CellLabel->"Out[1]=",
 CellID->735288398]
}, Open  ]],

Cell["\<\
Another common mistake, Einstein summation convention is violated\
\>", "Notes",
 CellID->463494526],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"FCCheckSyntax", "[", 
  RowBox[{
   RowBox[{"FV", "[", 
    RowBox[{"p", ",", "\[Mu]"}], "]"}], 
   RowBox[{"FV", "[", 
    RowBox[{"q", ",", "\[Mu]"}], "]"}], " ", 
   RowBox[{"FV", "[", 
    RowBox[{"r", ",", "\[Mu]"}], "]"}]}], "]"}]], "Input",
 CellLabel->"In[2]:=",
 CellID->237256672],

Cell[BoxData[
 FormBox[
  RowBox[{
   StyleBox[
    RowBox[{"FCCheckSyntax", "::", "failmsg"}], "MessageName"], ":", 
   " ", "\<\"Error! FCCheckSyntax has found an inconsistency in your input \
expression and must abort the evaluation. The problem reads: \[NoBreak]\\!\\(\
\\*FormBox[\\\"\\\\\\\"More than two repeating indices in \\\\\\\"\\\", \
TraditionalForm]\\)\[NoBreak] \
\[NoBreak]\\!\\(\\*FormBox[\\\"\\\\\\\"Pair[LorentzIndex[\[Mu]], \
Momentum[p]]*Pair[LorentzIndex[\[Mu]], Momentum[q]]*Pair[LorentzIndex[\[Mu]], \
Momentum[r]]\\\\\\\"\\\", TraditionalForm]\\)\[NoBreak] \\!\\(\\*ButtonBox[\\\
\"\[RightSkeleton]\\\", ButtonStyle->\\\"Link\\\", ButtonFrame->None, \
ButtonData:>\\\"paclet:FeynCalc/ref/FCCheckSyntax\\\", ButtonNote -> \
\\\"FeynCalc`FCCheckSyntax::failmsg\\\"]\\)\"\>"}], 
  TraditionalForm]], "Message", "MSG",
 CellLabel->"During evaluation of In[2]:=",
 CellID->1418369889],

Cell[BoxData[
 FormBox["$Aborted", TraditionalForm]], "Output",
 ImageSize->{58, 14},
 ImageMargins->{{0, 0}, {0, 0}},
 ImageRegion->{{0, 1}, {0, 1}},
 CellLabel->"Out[2]=",
 CellID->1453430414]
}, Open  ]]
}, Open  ]]
}, Open  ]],

Cell[" ", "FooterCell"]
},
Saveable->False,
ScreenStyleEnvironment->"Working",
WindowSize->{725, 750},
WindowMargins->{{-10, Automatic}, {Automatic, -8}},
WindowTitle->"FCCheckSyntax",
TaggingRules->{
 "ModificationHighlight" -> False, "ColorType" -> "SymbolColor", "LinkTrails" -> 
  GridBox[{{
      RowBox[{
        ButtonBox[
        "FeynCalc", ButtonData -> "paclet:FeynCalc/guide/FeynCalc", 
         BaseStyle -> {"Link", "DockedLinkTrail"}]}]}}, ColumnAlignments -> 
    Left], "HasOptions" -> False, "ExampleCounter" -> 1, "NeedPlatMsgIn" -> 
  None, "RootCaptions" -> "", 
  "Metadata" -> {
   "built" -> "{2020, 6, 20, 19, 5, 6.029572}", 
    "history" -> {"9.3", "", "", ""}, "context" -> "FeynCalc`", 
    "keywords" -> {}, "specialkeywords" -> {}, 
    "tutorialcollectionlinks" -> {}, "index" -> True, "label" -> 
    "Feyn Calc Symbol", "language" -> "en", "paclet" -> "FeynCalc", "status" -> 
    "None", "summary" -> 
    "FCCheckSyntax[exp] attempts to detect mistakes and inconsistencies in \
the user input. The function returns the original expression but will abort \
the evaluation if it thinks that the input is incorrect.", "synonyms" -> {}, 
    "tabletags" -> {}, "title" -> "FCCheckSyntax", "titlemodifier" -> "", 
    "windowtitle" -> "FCCheckSyntax", "type" -> "Symbol", "uri" -> 
    "FeynCalc/ref/FCCheckSyntax"}, "SearchTextTranslated" -> ""},
CellContext->"Global`",
FrontEndVersion->"10.4 for Linux x86 (64-bit) (April 11, 2016)",
StyleDefinitions->Notebook[{
   Cell[
    StyleData[
    StyleDefinitions -> FrontEnd`FileName[{"Wolfram"}, "Reference.nb"]]], 
   Cell[
    StyleData["Input"], CellContext -> "Global`"], 
   Cell[
    StyleData["Output"], CellContext -> "Global`"]}, Visible -> False, 
  FrontEndVersion -> "10.4 for Linux x86 (64-bit) (April 11, 2016)", 
  StyleDefinitions -> "Default.nb"]
]
(* End of Notebook Content *)

(* Internal cache information *)
(*CellTagsOutline
CellTagsIndex->{
 "PrimaryExamplesSection"->{
  Cell[5658, 180, 387, 15, 31, "PrimaryExamplesSection",
   CellTags->"PrimaryExamplesSection",
   CellID->157283115]}
 }
*)
(*CellTagsIndex
CellTagsIndex->{
 {"PrimaryExamplesSection", 11532, 352}
 }
*)
(*NotebookFileOutline
Notebook[{
Cell[585, 21, 2293, 53, 53, "AnchorBarGrid",
 CellID->1],
Cell[2881, 76, 290, 11, 45, "ObjectNameGrid"],
Cell[CellGroupData[{
Cell[3196, 91, 528, 13, 102, "Usage",
 CellID->982511436],
Cell[CellGroupData[{
Cell[3749, 108, 739, 24, 31, "NotesSection",
 CellGroupingRules->{"SectionGrouping", 50},
 CellID->1697820583],
Cell[4491, 134, 31, 0, 70, "SectionHeaderSpacer"],
Cell[4525, 136, 181, 4, 70, "Notes",
 CellID->1161987066],
Cell[4709, 142, 233, 5, 70, "Notes",
 CellID->180262923],
Cell[4945, 149, 172, 4, 70, "Notes",
 CellID->935868582],
Cell[CellGroupData[{
Cell[5142, 157, 118, 3, 70, "Input",
 CellID->1667538060],
Cell[5263, 162, 334, 11, 37, "Output",
 CellID->1616784893]
}, Open  ]]
}, Closed]]
}, Open  ]],
Cell[CellGroupData[{
Cell[5658, 180, 387, 15, 31, "PrimaryExamplesSection",
 CellTags->"PrimaryExamplesSection",
 CellID->157283115],
Cell[CellGroupData[{
Cell[6070, 199, 195, 6, 26, "ExampleSection",
 CellID->745372466],
Cell[6268, 207, 207, 7, 32, "Notes",
 CellID->1330487301],
Cell[CellGroupData[{
Cell[6500, 218, 195, 6, 27, "Input",
 CellID->1374293448],
Cell[6698, 226, 1058, 19, 80, "Message",
 CellID->353651716],
Cell[7759, 247, 193, 6, 35, "Output",
 CellID->735288398]
}, Open  ]],
Cell[7967, 256, 110, 3, 32, "Notes",
 CellID->463494526],
Cell[CellGroupData[{
Cell[8102, 263, 314, 10, 27, "Input",
 CellID->237256672],
Cell[8419, 275, 905, 17, 117, "Message",
 CellID->1418369889],
Cell[9327, 294, 194, 6, 35, "Output",
 CellID->1453430414]
}, Open  ]]
}, Open  ]]
}, Open  ]],
Cell[9560, 305, 23, 0, 41, "FooterCell"]
}
]
*)

(* End of internal cache information *)

